// VBXML_common.h

// The following ifdef block is the standard way of creating macros which make exporting 
// from a DLL simpler. All files within this DLL are compiled with the VBXML_DLL_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see 
// VBXML_DLL_API functions as being imported from a DLL, wheras this DLL sees symbols
// defined with this macro as being exported.
#ifdef VBXML_DLL_EXPORTS
#define VBXML_DLL_API __declspec(dllexport)
#else
#define VBXML_DLL_API __declspec(dllimport)
#endif

#if 0
// This class is exported from the VBXML_dll.dll
class VBXML_DLL_API CVBXML_dll {
public:
	CVBXML_dll(void);
	// TODO: add your methods here.
};

extern VBXML_DLL_API int nVBXML_dll;

VBXML_DLL_API int fnVBXML_dll(void);
#endif

///////////////////////////////////////////////////////////////////////////////////

// includes based on Xerces
#include <xercesc/util/PlatformUtils.hpp>
#include <xercesc/util/TransService.hpp>
#include <xercesc/framework/XMLFormatter.hpp>
#include <xercesc/sax/ErrorHandler.hpp>
#include <xercesc/sax/SAXParseException.hpp>
#include <xercesc/util/OutOfMemoryException.hpp>

#include <xercesc/dom/DOM.hpp>
#include <xercesc/dom/DOMImplementation.hpp>
#include <xercesc/dom/DOMImplementationLS.hpp>
#include <xercesc/dom/DOMWriter.hpp>

#include <xercesc/framework/MemBufInputSource.hpp>
#include <xercesc/framework/StdOutFormatTarget.hpp>
#include <xercesc/framework/LocalFileFormatTarget.hpp>
#include <xercesc/parsers/XercesDOMParser.hpp>
#include <xercesc/util/XMLUni.hpp>
#include <xercesc/dom/DOMErrorHandler.hpp>


#include <deque>

#include "VBLib/VBLib.h"

#define VB_XMLMEMBUFFER(x,str) VBStringXML x##aux__ = str; \
MemBufInputSource x(x##aux__,2*x##aux__.strLen(),(XMLCh*)0);


///////////////////////////////////////////////////////////////////////////////////


namespace br {
namespace com {
namespace sbVB {
namespace VBXML {

VBXML_DLL_API int getNumber3();



// these declarations must be before declaration of VBStringXML
VBXML_DLL_API void VBXML_initialize();


}}}} // end of namespace ::br::com::sbVB::VBXML
